﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LINQPad.OpenAccess.UI.Infrastructure
{
    /// <summary>
    /// Used for objects that need to be aware whether they're active or not.
    /// </summary>
    public interface IActiveAware
    {
        /// <summary>
        /// Gets or sets a value indicating whether this instance is active.
        /// </summary>
        /// <value>
        ///   <c>true</c> if this instance is active; otherwise, <c>false</c>.
        /// </value>
        bool IsActive { get; set; }
        /// <summary>
        /// Occurs when the 'Active' state of the instance has changed.
        /// </summary>
        event EventHandler IsActiveChanged;
    }
}
